package com.knowledgegraph.service;

import com.knowledgegraph.entity.Entity;
import com.knowledgegraph.entity.Relation;

/**
 * 数据同步服务接口
 * 负责MySQL和Neo4j之间的数据同步
 */
public interface DataSyncService {
    
    /**
     * 同步实体到Neo4j
     */
    void syncEntityToNeo4j(Entity entity);
    
    /**
     * 同步关系到Neo4j
     */
    void syncRelationToNeo4j(Relation relation);
    
    /**
     * 从Neo4j删除实体
     */
    void deleteEntityFromNeo4j(Long entityId);
    
    /**
     * 从Neo4j删除关系
     */
    void deleteRelationFromNeo4j(Long relationId);
    
    /**
     * 全量同步MySQL数据到Neo4j
     */
    void fullSyncToNeo4j();
    
    /**
     * 检查数据一致性
     */
    boolean checkDataConsistency();
}